let a = 10, b = 3;
console.log(a + b); // 加法: 13
console.log(a - b); // 減法: 7
console.log(a * b); // 乘法: 30
console.log(a / b); // 除法: 3.3333...
console.log(a % b); // 取餘: 1
console.log(a ** b); // 冪運算: 1000,是 ES6 新增的冪運算符。
// 遞增和遞減
let c = 5;
console.log(c++); // 後綴遞增: 輸出5,然後c變為6
console.log(++c); // 前綴遞增: c先變為7,然後輸出7
// 一元加和減
let d = "3";
console.log(+d); // 一元加: 將字符串轉換為數字 3
console.log(-d); // 一元減: 將字符串轉換為數字並取反 -3
console.log(a == "10"); // 相等(寬鬆): true
console.log(a === "10"); // 嚴格相等: false
console.log(a != b); // 不相等: true
console.log(a > b); // 大於: true
console.log(a <= 10); // 小於等於: true
let x = true, y = false;
console.log(x && y); // 邏輯與: false
console.log(x || y); // 邏輯或: true
console.log(!x); // 邏輯非: false
let c = 5;
c += 2; // 等同於 c = c + 2
console.log(c); // 7
let age = 20;
let status = (age >= 18) ? "成年" : "未成年";
console.log(status); // "成年"
let num1 = 5, num2 = 3;
console.log(num1 & num2); // 位與: 1
console.log(num1 | num2); // 位或: 7
console.log(num1 ^ num2); // 位異或: 6
console.log(~num1); // 位非: -6
console.log(num1 << 1); // 左移: 10
console.log(num1 >> 1); // 右移: 2
let str1 = "Hello", str2 = "World";
console.log(str1 + " " + str2); // "Hello World"
console.log(typeof 42); // "number"
console.log([] instanceof Array); // true
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5];
console.log(arr2); // [1, 2, 3, 4, 5]
表達式可以是簡單的單個值,也可以是複雜的組合運算。
// 複合算術表達式
let result = (5 + 3) * 2 / 4 - 1;
console.log(result); // 3
// 邏輯表達式
let isAdult = age >= 18 && hasID;
// 條件表達式
let greeting = isAdult ? "Welcome!" : "Sorry, adults only.";
// 函數表達式
const square = function(x) { return x * x; };
// 箭頭函數表達式
const cube = x => x * x * x;
// 物件字面量中的表達式
const obj = {
name: "John",
age: 30,
isAdult: age >= 18,
greet() { console.log("Hello!"); }
};
// 解構賦值中的表達式
const { name, age: userAge = 18 } = obj;
// 模板字面量中的表達式
console.log(`${name} is ${userAge} years old.`);
// 可選鏈操作符
可選鏈操作符(Optional Chaining Operator)是JavaScript中一個相對較新的特性,它提供了一種更加簡潔的方式來訪問可能為null或undefined的對象的屬性。
-使用'?.'來安全地訪問可能不存在的屬性。
-如果'?.'之前的值是null或undefined,表達式會短路並返回 undefined。
// 基本用法
const user = {
name: 'Alice',
address: {
street: 'Main St',
city: 'Wonderland'
}
};
console.log(user.address?.street); // 'Main St'
console.log(user.contacts?.email); // undefined(不會拋出錯誤)